403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/test_capi/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/test_capi/__pycache__/test_watchers.cpython-313.pyc
�

��i�S��0�SSKrSSKJrJr SSKJrJrJrJr \R"S5r
"SS\R5r"SS\R5r
"S	S
\R5r"SS\R5r\S
:Xa\R""5 gg)�N)�contextmanager�	ExitStack)�catch_unraisable_exception�
import_helper�
gc_collect�suppress_immortalization�	_testcapic���\rSrSrSrSrSr\4SjrSr\	\4Sj5r
SrS	rS
r
SrSrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"S r#g!)"�TestDictWatchers�
r��c�,�[RU5$�N)r	�add_dict_watcher��self�kinds  �1C:\Python313\\Lib\test\test_capi\test_watchers.py�add_watcher�TestDictWatchers.add_watcher����)�)�$�/�/�c�.�[RU5 gr)r	�clear_dict_watcher�r�
watcher_ids  r�
clear_watcher�TestDictWatchers.clear_watcher����$�$�Z�0rc#�# �URU5nUv� URU5 g!URU5 f=f7fr�rr�rr�wids   r�watcher�TestDictWatchers.watcher�;������t�$��	$��I����s�#��D���s�#���A�+�A�>�Ac�N�[R5nURX!5 gr)r	�get_dict_watcher_events�assertEqual�r�expected�actuals   r�
assert_events�TestDictWatchers.assert_events!s���2�2�4������*rc�.�[RX5 gr)r	�
watch_dict�rr$�ds   r�watch�TestDictWatchers.watch%������S�$rc�.�[RX5 gr)r	�unwatch_dictr3s   r�unwatch�TestDictWatchers.unwatch(������s�&rc��0nUR5nURX!5 SUS'URS/5 SSS5 g!,(df   g=f)N�bar�foo�new:foo:bar�r%r5r/�rr4r$s   r�test_set_new_item�"TestDictWatchers.test_set_new_item+sA����
�\�\�^�s��J�J�s���A�e�H����
��/��^�^�s�)A�
Ac��SS0nUR5nURX!5 SUS'URS/5 SSS5 g!,(df   g=f)Nr?r>�baz�mod:foo:bazrArBs   r�test_set_existing_item�'TestDictWatchers.test_set_existing_item2sE��
�E�N��
�\�\�^�s��J�J�s���A�e�H����
��/��^�^�s�)A�
Ac���0nSS0nUR5nURX15 URU5 URS/5 SSS5 g!,(df   g=f)Nr?r>�clone)r%r5�updater/)rr4�d2r$s    r�
test_clone�TestDictWatchers.test_clone9sL�����U�^��
�\�\�^�s��J�J�s��
�H�H�R�L�����y�)��^�^�s�5A�
A#c��0nUR5nSUS'UR/5 SSS5 g!,(df   g=f)Nr>r?)r%r/rBs   r�test_no_event_if_not_watched�-TestDictWatchers.test_no_event_if_not_watchedAs3����
�\�\�^�s��A�e�H����r�"��^�^�s	�3�
Ac��SS0nUR5nURX!5 US	URS/5 SSS5 g!,(df   g=f�Nr?r>�del:foorArBs   r�test_del�TestDictWatchers.test_delGsC��
�E�N��
�\�\�^�s��J�J�s���%�����	�{�+��^�^�s�'A�
Ac���SS0nUR5nURX!5 URS5 URS/5 SSS5 g!,(df   g=frT)r%r5�popr/rBs   r�test_pop�TestDictWatchers.test_popNsG��
�E�N��
�\�\�^�s��J�J�s��
�E�E�%�L����	�{�+��^�^�s�5A�
A!c���SS0nUR5nURX!5 UR5 URS/5 SSS5 g!,(df   g=f)Nr?r>�clear)r%r5r]r/rBs   r�
test_clear�TestDictWatchers.test_clearUsE��
�E�N��
�\�\�^�s��J�J�s��
�G�G�I�����y�)��^�^�s�4A�
A c��SS0nUR5nURX!5 AURS/5 SSS5 g!,(df   g=f)Nr?r>�deallocrArBs   r�test_dealloc�TestDictWatchers.test_dealloc\s?��
�E�N��
�\�\�^�s��J�J�s������	�{�+��^�^�s�%A�
Ac���"SS5nU"5nUR5nURX2R5 SUlSUlU?UR	/SQ5 SSS5 UR5nURX2R5 [S5H
nSUlM UR	S/S/S	--5 SSS5 g!,(df   Nu=f!,(df   g=f)
Nc��\rSrSrSrg)�0TestDictWatchers.test_object_dict.<locals>.MyObj�d�N��__name__�
__module__�__qualname__�__firstlineno__�__static_attributes__rhrr�MyObjrfds��Trror>rF)r@rGrUrgr@zmod:foo:bar�c)r%r5�__dict__r?r/�range)rro�or$�_s     r�test_object_dict�!TestDictWatchers.test_object_dictcs������G��
�\�\�^�s��J�J�s�J�J�'��A�E��A�E������H�I���\�\�^�s��J�J�s�J�J�'��3�Z����� ����
��-��2�1E�E�F�	�^��^���^�s�?C�9AC!�
C�!
C/c���0nUR5nURX!5 SUS'URX!5 SUS'URS/5 SSS5 g!,(df   g=f)Nr>r?rF�hmmr@)r%r5r:r/rBs   r�test_unwatch�TestDictWatchers.test_unwatchtsV����
�\�\�^�s��J�J�s���A�e�H��L�L�� ��A�e�H����
��/��^�^�s�?A�
A)c��0nURURS9nURX!5 [5nSUS'UR	SUR
R5 URUR
R5 UR[UR
R5S5 SSS5 UR/5 SSS5 g!,(df   N(=f!,(df   g=f)N�rr>r?zFException ignored in PyDict_EVENT_ADDED watcher callback for <dict at �boom!)
r%�ERRORr5r�assertIn�
unraisable�err_msg�assertIsNone�objectr+�str�	exc_valuer/�rr4r$�cms    r�
test_error�TestDictWatchers.test_error}s�����
�\�\�t�z�z�\�
*�c��J�J�s��+�-�� ��%���
�
�H��M�M�)�)��
�!�!�"�-�-�"6�"6�7�� � ��R�]�]�%<�%<�!=�w�G�.�
���r�"�+�
*�-�-��+�
*�s#�C+�BC�8C+�
C(	�$C+�+
C9c�8�0nURURS9nURX!5 [5nAUR	[URR5S5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nr|r})r%r~r5rr+r�r�r�r�s    r�test_dealloc_error�#TestDictWatchers.test_dealloc_error�sn����
�\�\�t�z�z�\�
*�c��J�J�s��+�-���� � ��R�]�]�%<�%<�!=�w�G�.�+�
*�-�-��+�
*�s"�B�1A:�)B�:
B	�B�
Bc�D�0n0nUR5nURURS9nURX15 URXB5 SUS'SUS'URSS/5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nr|r>r?rFrxr@�second)r%�SECONDr5r/)r�d1rM�wid1�wid2s     r�test_two_watchers�"TestDictWatchers.test_two_watchers�s���
��
��
�\�\�^�t����4�;�;��/�4��
�
�4�$��
�
�4�$�!��5�	�!��5�	��"�"�M�8�#<�=�0��^�/�/���^�s#�B�AB�/B�
B	�
B�
Bc���UR5nUR[S5 URUS5 SSS5 SSS5 g!,(df   N=f!,(df   g=f�NzCannot watch non-dictionaryr
�r%�assertRaisesRegex�
ValueErrorr5�rr$s  r�test_watch_non_dict�$TestDictWatchers.test_watch_non_dict�sH��
�\�\�^�s��'�'�
�4R�S��
�
�3��"�T��^�S�S���^��!�A�A�A�
A	�A�
A+c��0nUR[S5 URSU5 SSS5 UR[S5 URSU5 SSS5 g!,(df   N@=f!,(df   g=f�NzInvalid dict watcher ID -1���zInvalid dict watcher ID 8��r�r�r5�rr4s  r�"test_watch_out_of_range_watcher_id�3TestDictWatchers.test_watch_out_of_range_watcher_id�se����
�
#�
#�J�0M�
N��J�J�r�1��O�
�
#�
#�J�0L�
M��J�J�q�!��N�
M�O�
N��
M�
M���A&�
A7�&
A4�7
Bc��0nUR[S5 URSU5 SSS5 g!,(df   g=f�NzNo dict watcher set for ID 3�r�r�s  r� test_watch_unassigned_watcher_id�1TestDictWatchers.test_watch_unassigned_watcher_id�s3����
�
#�
#�J�0O�
P��J�J�q�!��Q�
P�
P��	�5�
Ac���UR5nUR[S5 URUS5 SSS5 SSS5 g!,(df   N=f!,(df   g=fr��r%r�r�r:r�s  r�test_unwatch_non_dict�&TestDictWatchers.test_unwatch_non_dict�sH��
�\�\�^�s��'�'�
�4R�S����S�!�$�T��^�S�S���^�r�c��0nUR[S5 URSU5 SSS5 UR[S5 URSU5 SSS5 g!,(df   N@=f!,(df   g=fr��r�r�r:r�s  r�$test_unwatch_out_of_range_watcher_id�5TestDictWatchers.test_unwatch_out_of_range_watcher_id�se����
�
#�
#�J�0M�
N��L�L��Q��O�
�
#�
#�J�0L�
M��L�L��A��N�
M�O�
N��
M�
M�r�c��0nUR[S5 URSU5 SSS5 g!,(df   g=fr�r�r�s  r�"test_unwatch_unassigned_watcher_id�3TestDictWatchers.test_unwatch_unassigned_watcher_id�s3����
�
#�
#�J�0O�
P��L�L��A��Q�
P�
P�r�c��UR[S5 URS5 SSS5 UR[S5 URS5 SSS5 g!,(df   N?=f!,(df   g=fr��r�r�r�rs r�"test_clear_out_of_range_watcher_id�3TestDictWatchers.test_clear_out_of_range_watcher_id�s`��
�
#�
#�J�0M�
N����r�"�O�
�
#�
#�J�0L�
M����q�!�N�
M�O�
N��
M�
M�s�A"�A3�"
A0�3
Bc��UR[S5 URS5 SSS5 g!,(df   g=fr�r�r�s r� test_clear_unassigned_watcher_id�1TestDictWatchers.test_clear_unassigned_watcher_id��.��
�
#�
#�J�0O�
P����q�!�Q�
P�
P��	�2�
ArhN)$rjrkrlrm�EVENTSr~r�rrrr%r/r5r:rCrHrNrQrVrZr^rbruryr�r�r�r�r�r�r�r�r�r�r�rnrhrrrr
s���
�F�
�E�
�F�%�0�1��!�$��$�+�%�'�0�0�*�#�,�,�*�,�G�"0�
#�H�	>�#�
��
%�
��
"�"rrc���\rSrSrSrSrSrSr\4SjrSr	\
\4Sj5rS	rS
r
SrSrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!g) �TestTypeWatchers��rr
rr�c�,�[RU5$r)r	�add_type_watcherrs  rr�TestTypeWatchers.add_watcher�rrc�.�[RU5 gr)r	�clear_type_watcherrs  rr�TestTypeWatchers.clear_watcher�r rc#�# �URU5nUv� URU5 g!URU5 f=f7frr"r#s   rr%�TestTypeWatchers.watcher�r'r(c�N�[R5nURX!5 gr)r	�get_type_modified_eventsr+r,s   rr/�TestTypeWatchers.assert_events�s���3�3�5������*rc�.�[RX5 gr)r	�
watch_type�rr$�ts   rr5�TestTypeWatchers.watch�r7rc�.�[RX5 gr)r	�unwatch_typer�s   rr:�TestTypeWatchers.unwatch�r<rc��"SS5nUR5nURX!5 SUlURU/5 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�+TestTypeWatchers.test_watch_type.<locals>.C��rhNrirhrr�Cr�����rr�r>�r%r5r?r/�rr�r$s   r�test_watch_type� TestTypeWatchers.test_watch_type�s?���
�
�\�\�^�s��J�J�s���A�E�����s�#��^�^�s�+A�
Ac���"SS5nUR5nURX!5 SUlSUlUR	U/5 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�2TestTypeWatchers.test_event_aggregation.<locals>.C�rhNrirhrrr�r��r�rr�r>rF)r%r5r?r>r/r�s   r�test_event_aggregation�'TestTypeWatchers.test_event_aggregation�sF���
�
�\�\�^�s��J�J�s���A�E��A�E�����s�#��^�^�s�2A�
A$c��"SS5nUR5nURX!5 SUlURURS5 SUlURX/5 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�:TestTypeWatchers.test_lookup_resets_aggregation.<locals>.C�rhNrirhrrr�r��r�rr�r>rF)r%r5r?r+r>r/r�s   r�test_lookup_resets_aggregation�/TestTypeWatchers.test_lookup_resets_aggregation�sZ���
�
�\�\�^�s��J�J�s���A�E����Q�U�U�E�*��A�E�����v�&��^�^�s�AA2�2
Bc�L�"SS5nUR5nURX!5 SUlURURS5 UR	U/5 URX!5 SUlUR	U/5 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�-TestTypeWatchers.test_unwatch_type.<locals>.Ci	rhNrirhrrr�r�	r�rr�r>rF)r%r5r?r+r/r:r>r�s   r�test_unwatch_type�"TestTypeWatchers.test_unwatch_typesv���
�
�\�\�^�s��J�J�s���A�E����Q�U�U�E�*�����s�#��L�L�� ��A�E�����s�#��^�^�s�A1B�
B#c�~�"SS5nUR5nUR5nURX15 SUlURURS5 UR	U/5 SSS5 SUlUR	U/5 SSS5 g!,(df   N0=f!,(df   g=f)Nc��\rSrSrSrg)�.TestTypeWatchers.test_clear_watcher.<locals>.CirhNrirhrrr�r�r�rr�r>rF)r%r5r?r+r/r>)rr�rtr$s    r�test_clear_watcher�#TestTypeWatchers.test_clear_watchers����
�
�\�\�^�q�����3��
�
�3�"����� � �����.��"�"�A�3�'�	 �
�A�E�����s�#��^�����^�s#�B.�AB�3!B.�
B+	�'B.�.
B<c���"SS5n"SSU5nUR5nURX25 SUlURU/5 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�4TestTypeWatchers.test_watch_type_subclass.<locals>.Ci!rhNrirhrrr�r�!r�rr�c��\rSrSrSrg)�4TestTypeWatchers.test_watch_type_subclass.<locals>.Di"rhNrirhrr�Dr�"s��Drr�r>r�)rr�r�r$s    r�test_watch_type_subclass�)TestTypeWatchers.test_watch_type_subclass sG���
����
�\�\�^�s��J�J�s���A�E�����s�#��^�^�s�+A�
A(c��"SS5nURURS9nURX!5 [5nSUlURURRSU<35 URURRS5 UR[URR5S5 SSS5 UR/5 SSS5 g!,(df   N(=f!,(df   g=f)Nc��\rSrSrSrg)�&TestTypeWatchers.test_error.<locals>.Ci)rhNrirhrrr�r)r�rr�r|r>z2Exception ignored in type watcher callback #0 for r})
r%r~r5rr?r+r�r��assertIsr�r�r�r/)rr�r$r�s    rr��TestTypeWatchers.test_error(s����
�
�\�\�t�z�z�\�
*�c��J�J�s��+�-������ � ����!6�!6�H���N�P��
�
�b�m�m�2�2�D�9�� � ��R�]�]�%<�%<�!=�w�G�.�
���r�"�+�
*�-�-��+�
*�s$�C:�BC)�C:�)
C7	�3C:�:
Dc��"SS5n"SS5nUR5nURURS9nURX45 URX15 URXB5 SUlSUlUR
X//5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��\rSrSrSrg)�.TestTypeWatchers.test_two_watchers.<locals>.C1i5rhNrirhrr�C1r5���$rr	c��\rSrSrSrg)�.TestTypeWatchers.test_two_watchers.<locals>.C2i6rhNrirhrr�C2r6r
rr
r|r>rF)r%�WRAP�assertNotEqualr5r?rxr/)rr	r
r�r�s     rr��"TestTypeWatchers.test_two_watchers4s�������
�\�\�^�t����4�9�9��-���#�#�D�/��
�
�4�$��
�
�4�$��������"�"�B��:�.�
.��^�-�-���^�s#�B6�AB%�B6�%
B3	�/B6�6
Cc�B�"SS5n[5nSnX0RS-
:a3URUR55nX0RS-
:aM3UR	X15 SUlUR
U/5 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�-TestTypeWatchers.test_all_watchers.<locals>.CiArhNrirhrrr�rAr�rr�r�r
r>)r�TYPE_MAX_WATCHERS�
enter_contextr%r5r?r/)rr��stack�last_wids    r�test_all_watchers�"TestTypeWatchers.test_all_watchers@s|���
�
�[�E��H��3�3�a�7�7� �.�.�t�|�|�~�>���3�3�a�7�7��J�J�x�#��A�E�����s�#��[�[�s�AB�*B�
Bc���UR5nUR[S5 URUS5 SSS5 SSS5 g!,(df   N=f!,(df   g=f�NzCannot watch non-typer
r�r�s  r�test_watch_non_type�$TestTypeWatchers.test_watch_non_typeLsH��
�\�\�^�s��'�'�
�4L�M��
�
�3��"�N��^�M�M���^�r�c�4�"SS5nUR[S5 URSU5 SSS5 UR[S5 URURU5 SSS5 g!,(df   NJ=f!,(df   g=f)Nc��\rSrSrSrg)�>TestTypeWatchers.test_watch_out_of_range_watcher_id.<locals>.CiRrhNrirhrrr�r Rr�rr��Invalid type watcher ID -1r��Invalid type watcher ID 8)r�r�r5r�rr�s  rr��3TestTypeWatchers.test_watch_out_of_range_watcher_idQsk���
�
�
#�
#�J�0M�
N��J�J�r�1��O�
�
#�
#�J�0L�
M��J�J�t�-�-�q�1�N�
M�O�
N��
M�
M���A8�B	�8
B�	
Bc��"SS5nUR[S5 URSU5 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�<TestTypeWatchers.test_watch_unassigned_watcher_id.<locals>.CiYrhNrirhrrr�r(Yr�rr��No type watcher set for ID 1r
r�r#s  rr��1TestTypeWatchers.test_watch_unassigned_watcher_idXs3���
�
�
#�
#�J�0O�
P��J�J�q�!��Q�
P�
P��	�=�
Ac���UR5nUR[S5 URUS5 SSS5 SSS5 g!,(df   N=f!,(df   g=frr�r�s  r�test_unwatch_non_type�&TestTypeWatchers.test_unwatch_non_type]sH��
�\�\�^�s��'�'�
�4L�M����S�!�$�N��^�M�M���^�r�c�4�"SS5nUR[S5 URSU5 SSS5 UR[S5 URURU5 SSS5 g!,(df   NJ=f!,(df   g=f)Nc��\rSrSrSrg)�@TestTypeWatchers.test_unwatch_out_of_range_watcher_id.<locals>.CicrhNrirhrrr�r1cr�rr�r!r�r")r�r�r:rr#s  rr��5TestTypeWatchers.test_unwatch_out_of_range_watcher_idbsk���
�
�
#�
#�J�0M�
N��L�L��Q��O�
�
#�
#�J�0L�
M��L�L��/�/��3�N�
M�O�
N��
M�
M�r%c��"SS5nUR[S5 URSU5 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�>TestTypeWatchers.test_unwatch_unassigned_watcher_id.<locals>.CijrhNrirhrrr�r5jr�rr�r)r
r�r#s  rr��3TestTypeWatchers.test_unwatch_unassigned_watcher_idis3���
�
�
#�
#�J�0O�
P��L�L��A��Q�
P�
P�r+c��UR[S5 URS5 SSS5 UR[S5 URUR5 SSS5 g!,(df   NI=f!,(df   g=f)Nr!r�r")r�r�rrr�s rr��3TestTypeWatchers.test_clear_out_of_range_watcher_idnsf��
�
#�
#�J�0M�
N����r�"�O�
�
#�
#�J�0L�
M����t�5�5�6�N�
M�O�
N��
M�
M�s�A,�A=�,
A:�=
Bc��UR[S5 URS5 SSS5 g!,(df   g=f)Nr)r
r�r�s rr��1TestTypeWatchers.test_clear_unassigned_watcher_idtr�r�c�(�UR[S5 [5n[URS-5H"nURUR
55 M$ SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nzno more type watcher IDsr
)r��RuntimeErrorrrrrrr%)rrrts   r�test_no_more_ids_available�+TestTypeWatchers.test_no_more_ids_availablexsf��
�
#�
#�L�2M�
N�����t�5�5��9�:�A��'�'�����7�;��O�
N����O�
N�s"�B�?A2�!B�2
B	�<B�
BrhN)"rjrkrlrm�TYPESr~rrrrrr%r/r5r:r�r�r�r�r�r�r�r�rrr�r�r-r�r�r�r�r=rnrhrrr�r��s���
�E�
�E��D���$�0�1�� �$��$�+�%�'�$�$�	'�	$�$�$�
#�
/�
$�#�
2��
%�
4��
7�"�8rr�c�v�\rSrSr\S5rSr\"5S5rSr	\"5S5r
SrSrS	r
S
rg)�TestCodeObjectWatchersic#�# �[RU5nUv� [RU5 g![RU5 f=f7fr)r	�add_code_watcher�clear_code_watcher)r�
which_watcherr$s   r�code_watcher�#TestCodeObjectWatchers.code_watcher�s;����(�(��7��	.��I��(�(��-��I�(�(��-���A
�3�A
�A
�
A
c�@�[5 URU[RS55 URU[R	S55 URU[RS55 URU[R	S55 g)Nrr
)rr+r	�#get_code_watcher_num_created_events�%get_code_watcher_num_destroyed_events)r�
exp_created_0�exp_destroyed_0�
exp_created_1�exp_destroyed_1s     r�assert_event_counts�*TestCodeObjectWatchers.assert_event_counts�s���������9�H�H��K�	M�����Y�L�L�Q�O�	Q�����9�H�H��K�	M�����Y�L�L�Q�O�	Qrc�(�URSSSS5 [RSSS5nURSSSS5 AURSSSS5 URS5 URSSSS5 [RSSS5nURSSSS5 AURSSSS5 URS5 URSSSS5 [RSSS5nURSSSS5 AURSSSS5 SSS5 SSS5 [RSSS5nURSSSS5 AURSSSS5 g!,(df   NW=f!,(df   N`=f)	Nr�
test_watchers�dummy1�dummy2r
�dummy3r�dummy4)rPr	�
code_newemptyrF)r�co1�co2�co3�co4s     r�"test_code_object_events_dispatched�9TestCodeObjectWatchers.test_code_object_events_dispatched�s|��	
� � ��A�q�!�,��%�%�o�x��C��� � ��A�q�!�,��� � ��A�q�!�,��
�
�q�
!��$�$�Q��1�a�0��)�)�/�8�Q�G�C��$�$�Q��1�a�0���$�$�Q��1�a�0��"�"�1�%��(�(��A�q�!�4��-�-�o�x��K���(�(��A�q�!�4���(�(��A�q�!�4�&�"� �%�%�o�x��C��� � ��A�q�!�,��� � ��A�q�!�,�&�%��"�
!�s&�&A&F�AE2�!F�2
F	�<F�
Fc���URS5 [5n[RSSS5nUR	UR
RSU<35 URUR
R5 UR	[UR
R5S5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)NrrS�dummy0rz?Exception ignored in PY_CODE_EVENT_CREATE watcher callback for r})rFrr	rXr+r�r�r�r�r�r�)rr��cos   rr��!TestCodeObjectWatchers.test_error�s���
�
�
�q�
!�+�-���,�,�_�h��J��� � ��M�M�)�)�A�AC��H��
�!�!�"�-�-�"6�"6�7�� � ��R�]�]�%<�%<�!=�w�G�.�"�
!�-�-��"�
!�s#�C�BC�3C�
C	�C�
C#c�D�[RSSS5nURS5 [5nA[	5 UR[
URR5S5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)NrSr`rrr})	r	rXrFrrr+r�r�r�)rrar�s   rr��)TestCodeObjectWatchers.test_dealloc_error�sp��
�
$�
$�_�h��
B��
�
�
�q�
!�+�-������ � ��R�]�]�%<�%<�!=�w�G�	.�"�
!�-�-��"�
!�s"�B�;B�/B�
B	�
B�
Bc��UR[S5 [RS5 SSS5 UR[S5 [RS5 SSS5 g!,(df   NC=f!,(df   g=f)NzInvalid code watcher ID -1r�zInvalid code watcher ID 8r��r�r�r	rDr�s rr��9TestCodeObjectWatchers.test_clear_out_of_range_watcher_id��`��
�
#�
#�J�0M�
N��(�(��,�O�
�
#�
#�J�0L�
M��(�(��+�N�
M�O�
N��
M�
M���A*�A;�*
A8�;
B	c��UR[S5 [RS5 SSS5 g!,(df   g=f)NzNo code watcher set for ID 1r
rfr�s rr��7TestCodeObjectWatchers.test_clear_unassigned_watcher_id��.��
�
#�
#�J�0O�
P��(�(��+�Q�
P�
P��	�6�
Ac��UR[S5 [R5 SSS5 g!,(df   g=f)Nz"no more code watcher IDs available)r�r<r	�allocate_too_many_code_watchersr�s r�test_allocate_too_many_watchers�6TestCodeObjectWatchers.test_allocate_too_many_watchers�s,��
�
#�
#�L�2W�
X��5�5�7�Y�
X�
X��	�5�
ArhN)rjrkrlrmrrFrPrr]r�r�r�r�rprnrhrrrArAs`���.��.�
Q���-� �-�BH���H� �H�,�,�8rrAc�N�\rSrSr\S5rSrSrSrSr	Sr
SrS	rS
r
g)�TestFuncWatchersi�c#�# �[RU5nSv� [RU5 g![RU5 f=f7fr)r	�add_func_watcher�clear_func_watcher)r�funcr$s   rr�TestFuncWatchers.add_watcher�s9����(�(��.��	.���(�(��-��I�(�(��-�rHc�*^�/mU4SjnURU5 SnUR[RUS4T5 [	U5nUR
RnXBlUR[RX$4T5 SnXRlUR[RX%4T5 Sn[RX%5 UR[RX%4T5 SS0nXblUR[RX&4T5 SS0n[RX&5 UR[RX&4T5 /mAUR[RUS4T5 SSS5 g!,(df   g=f)Nc�(>�TRU5 gr��append)�args�eventss �rr%�=TestFuncWatchers.test_func_events_dispatched.<locals>.watcher�s����M�M�$�rc��grrhrhrr�myfunc�<TestFuncWatchers.test_func_events_dispatched.<locals>.myfunc�s��r)�{)��rr�r�)rrr	�PYFUNC_EVENT_CREATE�id�test_func_events_dispatched�__code__�PYFUNC_EVENT_MODIFY_CODE�__defaults__�PYFUNC_EVENT_MODIFY_DEFAULTS�set_func_defaults_via_capi�__kwdefaults__�PYFUNC_EVENT_MODIFY_KWDEFAULTS�set_func_kwdefaults_via_capi�PYFUNC_EVENT_DESTROY)rr%r��	myfunc_id�new_code�new_defaults�new_kwdefaultsrs       @rr��,TestFuncWatchers.test_func_events_dispatched�sS�����	 ��
�
�g�
&�
��M�M�9�8�8�&�$�G��P��6�
�I��7�7�@�@�H�&�O��M�M�9�=�=�v�P�RX�Y�!�L�".���M�M�9�A�A�6�X�Z`�a�!�L��0�0��F��M�M�9�A�A�6�X�Z`�a�$�c�]�N�$2�!��M�M�9�C�C�V�\�^d�e�$�c�]�N��2�2�6�J��M�M�9�C�C�V�\�^d�e��F���M�M�9�9�9�9�d�K�V�T�;'�
&�
&�s�E F�
Fc�H^^�/mU4Sjn/mU4SjnURU5 URU5 Sn[RUS4nURUT5 URUT5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc�(>�TRU5 grr|)r~�events0s �r�
first_watcher�>TestFuncWatchers.test_multiple_watchers.<locals>.first_watcher�����N�N�4� rc�(>�TRU5 grr|)r~�events1s �r�second_watcher�?TestFuncWatchers.test_multiple_watchers.<locals>.second_watcherr�rc��grrhrhrrr��7TestFuncWatchers.test_multiple_watchers.<locals>.myfunc���r)rr	r�r)rr�r�r��eventr�r�s     @@r�test_multiple_watchers�'TestFuncWatchers.test_multiple_watchers	s������	!���	!��
�
�m�
,��!�!�.�1��#�6�6���E���
�
�e�W�-��
�
�e�W�-�
2�-�
,�1�1��-�
,�s"�B�;B�1B�
B	�B�
B!c	�^�"SS[5mU4SjnURU5 [5nSnURURR
S[
U5SS35 URURR5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��\rSrSrSrg)�;TestFuncWatchers.test_watcher_raises_error.<locals>.MyErrorirhNrirhrr�MyErrorr����rr�c�>�T"S5e�Nztesting 123rh�r~r�s �rr%�;TestFuncWatchers.test_watcher_raises_error.<locals>.watcher�����-�(�(rc��grrhrhrrr��:TestFuncWatchers.test_watcher_raises_error.<locals>.myfunc$r�rzBException ignored in PyFunction_EVENT_CREATE watcher callback for r
r�)	�	Exceptionrrr+r�r��reprr�r�)rr%r�r�r�s    @r�test_watcher_raises_error�*TestFuncWatchers.test_watcher_raises_errors����	�i�	�	)��
�
�g�
&�+�-���� � ��M�M�)�)�D�DH��L�QR�SU�DV�CW�Y��
�!�!�"�-�-�"6�"6�7�.�'�
&�-�-��'�
&�s#�B3�AB"�B3�"
B0	�,B3�3
Cc�"^�"SS[5mU4SjnSnURU5 [5nAURURR
T5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��\rSrSrSrg)�CTestFuncWatchers.test_dealloc_watcher_raises_error.<locals>.MyErrori/rhNrirhrrr�r�/r�rr�c�>�T"S5er�rhr�s �rr%�CTestFuncWatchers.test_dealloc_watcher_raises_error.<locals>.watcher2r�rc��grrhrhrrr��BTestFuncWatchers.test_dealloc_watcher_raises_error.<locals>.myfunc5s��r)r�rr�assertIsInstancer�r�)rr%r�r�r�s    @r�!test_dealloc_watcher_raises_error�2TestFuncWatchers.test_dealloc_watcher_raises_error.sk���	�i�	�	)�	��
�
�g�
&�+�-����%�%�b�m�m�&=�&=�w�G�.�'�
&�-�-��'�
&�s"�B�(A/�B�/
A=	�9B�
Bc��UR[S5 [RS5 SSS5 UR[S5 [RS5 SSS5 g!,(df   NC=f!,(df   g=f)Nzinvalid func watcher ID -1r�zinvalid func watcher ID 8r��r�r�r	rwr�s rr��3TestFuncWatchers.test_clear_out_of_range_watcher_id>rhric��UR[S5 [RS5 SSS5 g!,(df   g=f)Nzno func watcher set for ID 1r
r�r�s rr��1TestFuncWatchers.test_clear_unassigned_watcher_idDrlrmc��UR[S5 [R5 SSS5 g!,(df   g=f)Nzno more func watcher IDs)r�r<r	�allocate_too_many_func_watchersr�s rrp�0TestFuncWatchers.test_allocate_too_many_watchersHs,��
�
#�
#�L�2M�
N��5�5�7�O�
N�
N�rrrhN)rjrkrlrmrrr�r�r�r�r�r�rprnrhrrrtrt�s:���.��.�"U�H.�$8�&H� ,�,�8rrt�__main__)�unittest�
contextlibrr�test.supportrrrr�
import_moduler	�TestCaserr�rArtrj�mainrhrr�<module>r�s����0�*�*�
�'�'��4�	�|"�x�(�(�|"�~p8�x�(�(�p8�fZ8�X�.�.�Z8�zn8�x�(�(�n8�b�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit